package com.study.controller;

import cn.xuyanwu.spring.file.storage.FileInfo;
import cn.xuyanwu.spring.file.storage.FileStorageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author csc
 * @Date 2023/10/8 15:29
 * @PackageName:com.cscloser.controller
 * @ClassName: FileDetailController
 * @Description: 文件上传接口
 * @Version 1.0
 */

@RestController
public class FileDetailController {

    @Autowired
    private FileStorageService fileStorageService;//注入实列


    /**
     * 上传文件，成功返回文件 url
     */
    @PostMapping("/upload2")
    public String upload(MultipartFile file) {
        FileInfo fileInfo = fileStorageService.of(file)
                //.setPath("upload/") //保存到相对路径下，为了方便管理，不需要可以不写
                .setObjectId("0")   //关联对象id，为了方便管理，不需要可以不写
                .setObjectType("0") //关联对象类型，为了方便管理，不需要可以不写
                .putAttr("role","admin") //保存一些属性，可以在切面、保存上传记录、自定义存储平台等地方获取使用，不需要可以不写
                .upload();  //将文件上传到对应地方
        return fileInfo == null ? "上传失败！" : fileInfo.getUrl();
    }


}
